package DAO;

import DTO.*;
import BUS.*;
import java.util.*;
import java.util.Map;

public class MethodExtensions {
	public static String Clear(String strInput, String strClear) {
		String strOutput = strInput;
		if (null != strClear && strClear.length() > 0) {
			int idx = strClear.indexOf(strInput);
			if (idx >= 0) {
				strOutput = "";
			} else {
				strOutput = strInput.replace(strClear, "");
				strOutput = strOutput.trim();
			}
		}

		return strOutput;
	}

	public static boolean Compare(DuLieuDTO srcDuLieuDTO,
			SearchResultObject desDuLieuDTO) {

		boolean result = true;
		if ((DatabaseHelper._defaultNumber != desDuLieuDTO.MaDichVu() && srcDuLieuDTO
				.MaDichVu() != desDuLieuDTO.MaDichVu())
				|| (DatabaseHelper._defaultNumber != desDuLieuDTO.MaTinhThanh() && srcDuLieuDTO
						.MaTinhThanh() != desDuLieuDTO.MaTinhThanh())
				|| (DatabaseHelper._defaultNumber != desDuLieuDTO.MaQuanHuyen() && srcDuLieuDTO
						.MaQuanHuyen() != desDuLieuDTO.MaQuanHuyen())
				|| (DatabaseHelper._defaultNumber != desDuLieuDTO.MaPhuong() && srcDuLieuDTO
						.MaPhuong() != desDuLieuDTO.MaPhuong())
				|| (DatabaseHelper._defaultNumber != desDuLieuDTO.MaDuong() && srcDuLieuDTO
						.MaDuong() != desDuLieuDTO.MaDuong())
				|| (DatabaseHelper._defaultNumber != desDuLieuDTO
						.MaTenDiaDiem() && srcDuLieuDTO.MaTenDiaDiem() != desDuLieuDTO
						.MaTenDiaDiem())) {
			result = false;
		}

		return result;
	}

	public static List<DuLieuDTO> RemoveDupicatesOnSoNha(
			List<DuLieuDTO> lstDuLieuDTO) {
		List<DuLieuDTO> lstFinal = new ArrayList<DuLieuDTO>();

		try {
			Map<String, Integer> uniqueStore = new HashMap<String, Integer>();
			String soNha = "";
			for (DuLieuDTO duLieuDTO : lstDuLieuDTO) {
				soNha = duLieuDTO.SoNha();
				if (!uniqueStore.equals(soNha)) {
					uniqueStore.put(soNha, 0);
					lstFinal.add(duLieuDTO);
				}
			}

		} catch (Exception ex) {
			lstFinal = new ArrayList<DuLieuDTO>();
		}

		return lstFinal;
	}
}
